草庐IT

swift - Rx swift : upgrade model state when textfield gets focus

我有一个带有3个UITextField的UIViewController。每当其中一个字段获得焦点时,我想为上面的提示标签设置一个新的文本值。使用RxSwift实现此目的的最佳方法是什么? 最佳答案 这可以满足您的需求。任何时候UITextField将发送一个textFieldDidBeginEditing:委托(delegate)消息,你反而会得到一个Observable。然后将Observable映射到该文本字段的正确字符串中。然后将所有3个Observables组合成一个,其中最新事件来自最近调用该委托(delegate)消息

ios - Rx swift : Chain Completable to Observable

我想将一个Completable链接到一个可观察元素。调用flatMap后,onCompleted和onError回调似乎没有在订阅上调用。varuser=PublishRelay()funcfetchUserInformation(_userId:String)->Completable{returnCompletable.create{observerinapiService.fetchInformation(for:userId,completion:{responseinifletname=response?.name{user.accept(User(name:name))o

swift - Rx swift : Extra argument 'onError' when subscribing on an Observable<String>

我有以下代码:letfetcher=DiagnosticFetcher(commandSender:sender)fetcher.fetch().observeOn(MainScheduler.instance).subscribe(onNext:{self.store.save(content:$0)},onError:{self.view.showError("Error")},onCompleted:{log.verbose("Diagnosticfetched")})它不编译:Extraargument'onError'incall.如果我使用onSuccess,我会得到同样的

swift - Rx swift : enable/disable button based on textfields are not empty

我必须使用RxSwift根据两个文本字段上的字符数启用一个按钮@IBOutletweakvaruserTextField:UITextField!@IBOutletweakvarpasswordTextField:UITextField!@IBOutletweakvarbuttonToEnableDisable:UIButton!varenabledObservable=combineLatest(userTextField.rx_text,passwordTextField.rx_text){(user,password)inself.loginButton.enabled=a.ch

ios - Rx-Swift 干净的架构

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我想使用简洁的架构设计我的swift应用。我已经阅读了下面关于swift干净架构的链接http://clean-swift.com/blog/我已经使用这些模板来创建应用。我想问一下这是否是最好的架构,因为我想使用Rx-Swift进行编码。此外,如果有人能指出一些使用响应式swift的干净架构的工作示例,我将不胜感激。使用UncleBob的CleanArchitectureforswift

ios - Rx swift : using rx_refreshing for uirefreshcontrol

我正在使用UIRefreshControl+Variable绑定(bind)来重新加载数据。它正在工作,但是,以下内容对我来说是错误的:1)我知道RXCocoa扩展中有一个rx_refreshing变量,但我无法让它在这种情况下工作。2)我绑定(bind)了两次答案(这是数组的Variable)。一次是在我加载ViewController时,一次是在UIRefreshControl刷新时。3)我检查UIRefreshControl是否正在刷新的部分看起来真的很尴尬。感觉违背了使用reactive的初衷?...letanswers:Variable=Variable([])overrid

swift - Rx swift : Use Zip with different type observables

我正在使用RxSwift2.0.0-beta如何以类似zip的方式组合2个不同类型的可观察对象?//Thisworks[just(1),just(1)].zip{intElementsinreturnintElements.count}//Thisdoesn't[just(1),just("one")].zip{differentTypeElementsinreturndifferentTypeElements.count}我目前的解决方法是将所有内容映射到组合类型的可选元组,然后将可选元组压缩为非可选元组。letintObs=just(1).map{int->(int:Int?,st

java - 如何在 RX java 链中使用 "if-else"?

我是RXJava/RXAndroid的新手。我想实现这种情况:根据RXJava中的某些条件选择不同的方式。例如,首先,我从网络中获取用户信息,如果这是VIP用户,我将继续从网络中获取更多信息,或者只在主线程中显示一些信息(打破链条。)这里的流程图:/image/0hztR.png我对此做了一些搜索,只发现“switchIfEmpty”可能有帮助。我写了下面的代码:getUserFromNetwork("userId").flatMap(newFunction>(){@OverridepublicObservableSourceapply(Useruser)throwsException

java - Java RX 中的单一 vs 可观察

在新版本中,reactiveX引入了Single,作为Observable的变体http://reactivex.io/documentation/single.html这很好,因为在我当前的用例中,我有多个执行,并且每个执行只返回一个结果。因此,如果我从使用Observable改为使用Single,这将是有意义的。但是作为我的用例的一部分,对于上面的那些多次执行,我需要稍后将它们连接到一个Observable流中(以从所有上述执行中获取结果)。那么现在我的问题是,什么对性能更有好处?每次执行都使用Observable,尽管我知道执行只会返回1个结果。或每次执行都使用Single,并且

java - RX : Run Zipped Observables in parallel?

所以我在玩RX(真的很酷),我一直在转换我的api,它访问Android中的sqlite数据库以返回observables。所以自然而然地,我开始尝试解决的问题之一是,“如果我想进行3次API调用,获取结果,然后在它们全部完成后进行一些处理怎么办?”我花了一两个小时,但我最终找到了ZipFunctionality它可以帮助我轻松解决问题:Observableone=getNumberedObservable(1);Observabletwo=getNumberedObservable(2);Observablethree=getNumberedObservable(3);Observa